﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02001047 RID: 4167
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueTournLevel : IMessage<RogueTournLevel>, IMessage, IEquatable<RogueTournLevel>, IDeepCloneable<RogueTournLevel>, IBufferMessage
	{
		// Token: 0x1700349B RID: 13467
		// (get) Token: 0x0600BA32 RID: 47666 RVA: 0x001F5EBF File Offset: 0x001F40BF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueTournLevel> Parser
		{
			get
			{
				return RogueTournLevel._parser;
			}
		}

		// Token: 0x1700349C RID: 13468
		// (get) Token: 0x0600BA33 RID: 47667 RVA: 0x001F5EC6 File Offset: 0x001F40C6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueTournLevelReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700349D RID: 13469
		// (get) Token: 0x0600BA34 RID: 47668 RVA: 0x001F5ED8 File Offset: 0x001F40D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueTournLevel.Descriptor;
			}
		}

		// Token: 0x0600BA35 RID: 47669 RVA: 0x001F5EDF File Offset: 0x001F40DF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevel()
		{
		}

		// Token: 0x0600BA36 RID: 47670 RVA: 0x001F5EF4 File Offset: 0x001F40F4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevel(RogueTournLevel other) : this()
		{
			this.curRoomIndex_ = other.curRoomIndex_;
			this.status_ = other.status_;
			this.tournRoomList_ = other.tournRoomList_.Clone();
			this.levelIndex_ = other.levelIndex_;
			this.layerId_ = other.layerId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600BA37 RID: 47671 RVA: 0x001F5F59 File Offset: 0x001F4159
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevel Clone()
		{
			return new RogueTournLevel(this);
		}

		// Token: 0x1700349E RID: 13470
		// (get) Token: 0x0600BA38 RID: 47672 RVA: 0x001F5F61 File Offset: 0x001F4161
		// (set) Token: 0x0600BA39 RID: 47673 RVA: 0x001F5F69 File Offset: 0x001F4169
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurRoomIndex
		{
			get
			{
				return this.curRoomIndex_;
			}
			set
			{
				this.curRoomIndex_ = value;
			}
		}

		// Token: 0x1700349F RID: 13471
		// (get) Token: 0x0600BA3A RID: 47674 RVA: 0x001F5F72 File Offset: 0x001F4172
		// (set) Token: 0x0600BA3B RID: 47675 RVA: 0x001F5F7A File Offset: 0x001F417A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLayerStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x170034A0 RID: 13472
		// (get) Token: 0x0600BA3C RID: 47676 RVA: 0x001F5F83 File Offset: 0x001F4183
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueTournRoomList> TournRoomList
		{
			get
			{
				return this.tournRoomList_;
			}
		}

		// Token: 0x170034A1 RID: 13473
		// (get) Token: 0x0600BA3D RID: 47677 RVA: 0x001F5F8B File Offset: 0x001F418B
		// (set) Token: 0x0600BA3E RID: 47678 RVA: 0x001F5F93 File Offset: 0x001F4193
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint LevelIndex
		{
			get
			{
				return this.levelIndex_;
			}
			set
			{
				this.levelIndex_ = value;
			}
		}

		// Token: 0x170034A2 RID: 13474
		// (get) Token: 0x0600BA3F RID: 47679 RVA: 0x001F5F9C File Offset: 0x001F419C
		// (set) Token: 0x0600BA40 RID: 47680 RVA: 0x001F5FA4 File Offset: 0x001F41A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint LayerId
		{
			get
			{
				return this.layerId_;
			}
			set
			{
				this.layerId_ = value;
			}
		}

		// Token: 0x0600BA41 RID: 47681 RVA: 0x001F5FAD File Offset: 0x001F41AD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueTournLevel);
		}

		// Token: 0x0600BA42 RID: 47682 RVA: 0x001F5FBC File Offset: 0x001F41BC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueTournLevel other)
		{
			return other != null && (other == this || (this.CurRoomIndex == other.CurRoomIndex && this.Status == other.Status && this.tournRoomList_.Equals(other.tournRoomList_) && this.LevelIndex == other.LevelIndex && this.LayerId == other.LayerId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600BA43 RID: 47683 RVA: 0x001F603C File Offset: 0x001F423C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.CurRoomIndex != 0U)
			{
				num ^= this.CurRoomIndex.GetHashCode();
			}
			if (this.Status != RogueTournLayerStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			num ^= this.tournRoomList_.GetHashCode();
			if (this.LevelIndex != 0U)
			{
				num ^= this.LevelIndex.GetHashCode();
			}
			if (this.LayerId != 0U)
			{
				num ^= this.LayerId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600BA44 RID: 47684 RVA: 0x001F60DA File Offset: 0x001F42DA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600BA45 RID: 47685 RVA: 0x001F60E2 File Offset: 0x001F42E2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600BA46 RID: 47686 RVA: 0x001F60EC File Offset: 0x001F42EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.LayerId != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.LayerId);
			}
			if (this.Status != RogueTournLayerStatus.None)
			{
				output.WriteRawTag(56);
				output.WriteEnum((int)this.Status);
			}
			if (this.CurRoomIndex != 0U)
			{
				output.WriteRawTag(88);
				output.WriteUInt32(this.CurRoomIndex);
			}
			if (this.LevelIndex != 0U)
			{
				output.WriteRawTag(104);
				output.WriteUInt32(this.LevelIndex);
			}
			this.tournRoomList_.WriteTo(ref output, RogueTournLevel._repeated_tournRoomList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600BA47 RID: 47687 RVA: 0x001F6190 File Offset: 0x001F4390
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.CurRoomIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurRoomIndex);
			}
			if (this.Status != RogueTournLayerStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			num += this.tournRoomList_.CalculateSize(RogueTournLevel._repeated_tournRoomList_codec);
			if (this.LevelIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.LevelIndex);
			}
			if (this.LayerId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.LayerId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600BA48 RID: 47688 RVA: 0x001F622C File Offset: 0x001F442C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueTournLevel other)
		{
			if (other == null)
			{
				return;
			}
			if (other.CurRoomIndex != 0U)
			{
				this.CurRoomIndex = other.CurRoomIndex;
			}
			if (other.Status != RogueTournLayerStatus.None)
			{
				this.Status = other.Status;
			}
			this.tournRoomList_.Add(other.tournRoomList_);
			if (other.LevelIndex != 0U)
			{
				this.LevelIndex = other.LevelIndex;
			}
			if (other.LayerId != 0U)
			{
				this.LayerId = other.LayerId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600BA49 RID: 47689 RVA: 0x001F62B5 File Offset: 0x001F44B5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600BA4A RID: 47690 RVA: 0x001F62C0 File Offset: 0x001F44C0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 56U)
				{
					if (num == 48U)
					{
						this.LayerId = input.ReadUInt32();
						continue;
					}
					if (num == 56U)
					{
						this.Status = (RogueTournLayerStatus)input.ReadEnum();
						continue;
					}
				}
				else
				{
					if (num == 88U)
					{
						this.CurRoomIndex = input.ReadUInt32();
						continue;
					}
					if (num == 104U)
					{
						this.LevelIndex = input.ReadUInt32();
						continue;
					}
					if (num == 122U)
					{
						this.tournRoomList_.AddEntriesFrom(ref input, RogueTournLevel._repeated_tournRoomList_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04004B06 RID: 19206
		private static readonly MessageParser<RogueTournLevel> _parser = new MessageParser<RogueTournLevel>(() => new RogueTournLevel());

		// Token: 0x04004B07 RID: 19207
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004B08 RID: 19208
		public const int CurRoomIndexFieldNumber = 11;

		// Token: 0x04004B09 RID: 19209
		private uint curRoomIndex_;

		// Token: 0x04004B0A RID: 19210
		public const int StatusFieldNumber = 7;

		// Token: 0x04004B0B RID: 19211
		private RogueTournLayerStatus status_;

		// Token: 0x04004B0C RID: 19212
		public const int TournRoomListFieldNumber = 15;

		// Token: 0x04004B0D RID: 19213
		private static readonly FieldCodec<RogueTournRoomList> _repeated_tournRoomList_codec = FieldCodec.ForMessage<RogueTournRoomList>(122U, RogueTournRoomList.Parser);

		// Token: 0x04004B0E RID: 19214
		private readonly RepeatedField<RogueTournRoomList> tournRoomList_ = new RepeatedField<RogueTournRoomList>();

		// Token: 0x04004B0F RID: 19215
		public const int LevelIndexFieldNumber = 13;

		// Token: 0x04004B10 RID: 19216
		private uint levelIndex_;

		// Token: 0x04004B11 RID: 19217
		public const int LayerIdFieldNumber = 6;

		// Token: 0x04004B12 RID: 19218
		private uint layerId_;
	}
}
